空间计算 Sample详情

最后更新时间:2019年6月17日

移动端支持对几何要素的空间计算功能,如提供计算两点距离、计算两区距离、计算直线角度、计算两线交点等接口。

1 两点距离

计算两个Dot点之间的距离。

double distance = SpaCalculator.distance(dot1, dot2);

两点距离.jpg

2 直线角度

计算线段的角度。

//获取线的坐标点
Dot[] line = graphicPolylinA.getPoints();
//计算线段的角度
double angleValue = SpaCalculator.angle2PI(line[0], line[1]);

直线角度.jpg

3 两线交点

计算两条线的所有交点。

//两线交点,取两条线的点序列
Dot[] line1 = graphicPolylinA.getPoints();
Dot[] line2 = graphicPolylinB.getPoints();
Dot[] points = SpaCalculator.calLinesInters(line1, line2); //计算两条线的交点

两线交点.jpg

4 两对象距离

计算两个几何对象之间的距离。

double distance = SpaCalculator.distance(geo1, geo2, DistanceType.Center)

计算对象之间距离时,对象可以为点、线、区、多线、多区,并且计算的距离类型可以为

它们之间所支持的计算类型如下表所示:

计算对象 线 区(单圈) 多线 多区
min|max min min|max 不支持 不支持
线 min min|max 不支持 不支持 不支持
区(单圈) min|max 不支持 min 不支持 不支持
多线 min min|max 不支持 不支持 不支持
多区 min|max 不支持 min 不支持 不支持

例如两区之间的距离计算效果如下图所示:

两区距离.jpg